home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
apidev
/
pc_fix.txt
< prev
next >
Wrap
Text File
|
1991-10-14
|
8KB
|
135 lines
With the advent of NetWare v2.1, Novell introduced new concepts in
printing. New concepts such as assignable queues (mentioned earlier in
this chapter), initialization strings and concurrent capturing of
output to three separate printer ports. Not least among these new
features were the new programs that brought them to life. New
utilities, CAPTURE, PRINTCON and PRINTDEF, fostered these new aspects
of printing with NetWare. The plan was rosy and full of glee for those
looking on.
However, a small blemish, perhaps overlooked by Novell, tainted
the new printing concepts. Fortunately, only the network administrator
had to be aware of this smirch. This tarnish on the printing system is
the inability to globally define a PRINTCON job database. For those
unknowing, PRINTCON gives the ability to predefine commonly used
printing parameters so that they can be referenced quickly and easily.
In its natural form, these PRINTCON job databases have to be created,
and maintained for every user account that makes use of them. These
PRINTCON databases are stored in each users' personal mailbox directory
(SYS:MAIL\xxxxxxxx). It is not uncommon for many users to require the
same PRINTCON database. Since PRINTCON databases are not wholly unique
to each user, a network administrator would expect the ability to
define PRINTCON databases which can be shared among their users. After
all, they can share a common login script, why not a common PRINTCON
database.
Luckily there are two methods, without purchasing third party
products, that allow for the sharing of a common PRINTCON database. The
first method is to set the shell's search mode to 5, which means always
search during open file requests. Coupled with using search mode 5 is
the placement of the common PRINTCON database in a search directory,
for instance SYS:PUBLIC. This method is easier to implement of the
two. However, it does have the disadvantage of forcing the shell to
always search for every open file request. This could place your
system into jeopardy of reading the wrong files or causing users' to
become confused. Say that a user was trying to load a file from one
directory, and say that if they are unable to load that file, they know
to create a new one. However, say that a file of the same name exists
in a search directory to which they have access. The file would be
loaded from the search directory upon failing to open it on the first,
intended, drive. So, remember that by setting the shell search mode to
5 you have to realize the consequences.
The second method, though a bit more technical, gives you more
control. Aiding in this emancipation is the DOS utility, DEBUG. There
are only three utilities which seek out the PRINTCON database. The
first is PRINTCON, then CAPTURE and thirdly, NPRINT. The idea is to
alter the filename that these utilities search for, by which it is
possible to distinctively select where a PRINTCON database is found.
Before showing the debug steps note that when debugging a file with an
.EXE extension you need to rename the file so that it does not have an
.EXE extension. This change of filename only lasts for the debug
session, afterwards, the original filename should be restored. Now,
without further adieu, here are the debug steps for CAPTURE:
1) Rename CAPTURE.EXE to C. (something without an .EXE extension)
2) Run DEBUG C.
3) Type at the - prompt:
-scs:100 ffff 'sys:mail' <enter>
It will bring up an address like:
5E42:8528
now, use the number on the right side of the :, in this case, that
number would be 8528, remember, this number is in hexadecimal
4) Type at next - prompt:
-f8528 L1c 'sys:mail\printcon.dat',0,0,0,0,0,0,0 <enter>
type it in exactly like that, substituting the number following the "f"
for your own
5) Type at the next - prompt:
-W <enter>
(it will say Writing xxxx bytes)
6) Type at the next - prompt:
-Q <enter>
this will quit DEBUG and return you to DOS
7) Rename C. back to CAPTURE.EXE
8) Place your "GLOBAL" PRINTCON database in the SYS:MAIL directory
(You can make the directory something else, in this example we have
chosen SYS:MAIL, it could be anything that will fit in the line from
step 4 so long as there is at least one remaining 0 after the text,
also if you change the name, alter the number 0s following the name
appropriately so that the same total number of characters is obtained
9) Pat yourself on the back, you are done!
The above patch also works with NPRINT, the patch address(es) you
find will most likely be different. However, the above patch does not
work with PRINTCON.EXE. Though entirely optional and not necessary to
achieve a global PRINTCON database, PRINTCON can be patched. Through
the use of some disk editing utility, such as the Norton Utilities, it
would be possible to find the 'sys:mail' text and modify it
accordingly. Note that this same method of using a disk editing
utility could be performed for the modification of CAPTURE and NPRINT.
Thus, the use of debug is not mandatory.
It may be unclear as to where the global PRINTCON database comes
from. To clarify, one scenario would be that the PRINTCON database is
created by the SUPERVISOR user. The SUPERVISOR user's mailbox
directory is always SYS:MAIL\1. So, after the creation (or
modification) of the SUPERVISOR's PRINTCON database it could be copied
where the global PRINTCON is expected.
That's it, the steps to a global PRINTCON database are painless
and the benefits many. No longer will the network administrator be
forced to maintain redundant PRINTCON databases.
<Editor note:>If you want to include this, here it is....
example before and after
-d8528
5E42:8520 73 79 73 3A 6D 61 69 6C sys:mail
5E42:8530 5C 25 6C 78 5C 25 73 00-70 72 69 6E 74 63 6F 6E \%lx\%s.printcon
5E42:8540 2E 64 61 74 00 00 53 59-53 3A 50 55 42 4C 49 43 .dat..SYS:PUBLIC
5E42:8550 5C 4E 45 54 24 50 52 4E-2E 44 41 54 00 00 00 00 \NET$PRN.DAT....
5E42:8560 00 B2 0A B2 20 20 00 B0-21 22 23 24 25 26 27 28 .... ..!"#$%&'(
5E42:8570 29 2A 2B 2C 2D 2E 2F 30-31 32 33 34 35 36 37 38 )*+,-./012345678
5E42:8580 39 3A 3B 3C 3D 3E 3F 40-41 42 43 44 45 46 47 48 9:;<=>?@ABCDEFGH
5E42:8590 49 4A 4B 4C 4D 4E 4F 50-51 52 53 54 55 56 57 58 IJKLMNOPQRSTUVWX
5E42:85A0 59 5A 5B 2F 5D 5E 20 60 YZ[/]^
-f8528 l1c 'sys:mail\printcon.dat',0,0,0,0,0,0,0
-d8528
5E42:8520 73 79 73 3A 6D 61 69 6C sys:mail
5E42:8530 5C 70 72 69 6E 74 63 6F-6E 2E 64 61 74 00 00 00 \printcon.dat...
5E42:8540 00 00 00 00 00 00 53 59-53 3A 50 55 42 4C 49 43 ......SYS:PUBLIC
5E42:8550 5C 4E 45 54 24 50 52 4E-2E 44 41 54 00 00 00 00 \NET$PRN.DAT....
5E42:8560 00 B2 0A B2 20 20 00 B0-21 22 23 24 25 26 27 28 .... ..!"#$%&'(
5E42:8570 29 2A 2B 2C 2D 2E 2F 30-31 32 33 34 35 36 37 38 )*+,-./012345678
5E42:8580 39 3A 3B 3C 3D 3E 3F 40-41 42 43 44 45 46 47 48 9:;<=>?@ABCDEFGH
5E42:8590 49 4A 4B 4C 4D 4E 4F 50-51 52 53 54 55 56 57 58 IJKLMNOPQRSTUVWX
5E42:85A0 59 5A 5B 2F 5D 5E 20 60 YZ[/]^
-w
Writing 8800 bytes
-q
*END*